package cn.oms.manage.dao.persist.repository;

import cn.oms.commons.pojo.vo.PageData;
import cn.oms.manage.pojo.entity.Medicine;
import cn.oms.manage.pojo.entity.MedicineCategory;
import cn.oms.manage.pojo.vo.MedicineCategoryListVO;
import cn.oms.manage.pojo.vo.MedicineCategoryStandardVO;
import cn.oms.manage.pojo.vo.MedicineListVO;
import cn.oms.manage.pojo.vo.MedicineStandardVO;
import org.apache.ibatis.annotations.Param;

import java.util.Collection;
import java.util.List;

/**
 * 处理类别数据的存储库接口
 *
 * @author java@tedu.cn
 * @version 0.0.1
 */
public interface IMedicineCategoryRepository {

    int insert(MedicineCategory MedicineCategory);

    int insertBatch(List<MedicineCategory> medicineList);

    int deleteById(Long id);

    int update(MedicineCategory MedicineCategory);

    MedicineCategoryStandardVO getStandardById(Long id);

    PageData<MedicineCategoryListVO> list(Integer pageNum, Integer pageSize);

    int countByName(String name);

    int countByNameAndNotId(@Param("id") Long id, @Param("name") String name);
}
